package com.ctshk.rpc.system.service;

import com.ctshk.common.dto.Result;
import com.ctshk.common.model.PageResponse;
import com.ctshk.common.model.TokenUser;
import com.ctshk.rpc.system.dto.mian.data.MainDataNotGroupRulesDTO;
import com.ctshk.rpc.system.dto.mian.data.TripInfoChangeRuleDTO;
import com.ctshk.rpc.system.req.main.data.*;

/**
 * <p>
 * 不成团退费规则 服务类
 * </p>
 *
 * @author 谢诗宏
 * @since 2021-01-26
 */
public interface IMainDataNotGroupRulesService  {

    /**
     * 新增不成团退费规则
     * @param req 不成团退费规则
     * @param tokenUser 用户属性
     */
    Result add(MainDataNotGroupRulesReq req, TokenUser tokenUser);


    /**
     * 查询不成团退费规则 列表
     * @param mainDataNotGroupRulesQueryReq 不成团退费规则 查询条件
     * @return 不成团退费规则 信息列表
     */
    PageResponse<MainDataNotGroupRulesDTO> queryList(MainDataNotGroupRulesQueryReq mainDataNotGroupRulesQueryReq);

    /**
     * 删除不成团退费规则
     * @param req 不成团退费规则 id
     * @param tokenUser 登录用户属性
     */
    void delete(MainDataNotGroupRulesIdReq req, TokenUser tokenUser);

    /**
     * 修改不成团退费规则
     * @param req 旅客不成团退费规则
     * @param tokenUser 登录用户属性
     */
    Result update(MainDataNotGroupRulesUpdateReq req, TokenUser tokenUser);

    /**
     * 设置状态接口
     * @param mainDataNotGroupRulesIdReq 不成团退费规则 id
     * @param tokenUser 登录用户属性
     */
    void updateStatus(MainDataNotGroupRulesIdReq mainDataNotGroupRulesIdReq, TokenUser tokenUser);

    /**
     * 查询不成团退费规则
     * @param req 不成团退费规则 查询
     * @return 不成团退费规则 信息
     */
    MainDataNotGroupRulesDTO query(MainDataNotGroupRulesIdReq req);
}
